package com.jetpackmvp

import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlin.concurrent.thread

/**
 * @author: GY.LEE
 * @date: 2019-07-11
 * @Des:
 */
object Main {

    @JvmStatic
    fun main(args: Array<String>) {
        testThread()
//        test1()
//        test2()
    }




    private fun testThread() {
        thread {
           println("Main.testThread")
        }
        val threade= Thread(){
            Thread.sleep(2000)
            println("thread")
        }
        threade.start()
        println("dfdf")
    }

    private fun test2() = runBlocking {
        GlobalScope.launch { // 在后台启动一个新的协程并继续
            delay(1000L)
            println("World2!")
        }
        println("Hello2,") // 主协程在这里会立即执行
//        delay(2000L)
        println("Hello2343")
    }


    fun test1() {
        GlobalScope.launch {
            // 在后台启动一个新的协程并继续
            delay(1000L)
            println("World1!")
        }
        println("Hello1,") // 主线程中的代码会立即执行

//        runBlocking {
//            // 但是这个表达式阻塞了主线程 suspend 挂起
//            delay(2000L)  // ……我们延迟 2 秒来保证 JVM 的存活
//        }
//
//        println("Main.main")
//
//        runBlocking {
//            // 但是这个表达式阻塞了主线程
//            delay(2000L)  // ……我们延迟 2 秒来保证 JVM 的存活
//        }
//
//        println("Main.main2")
//
//
////        thread {
////            Thread.sleep(1000L)
////            println("World!")
////        }
////        println("Hello,")
    }
}